翻訳と辞書
Words near each other
・ Simpsons of Piccadilly
・ Simpsons Roasting on an Open Fire
・ Simpsons Tall Tales
・ Simpsons, Virginia
・ Simpsonville
・ Simpsonville Baptist Church
・ Simpsonville Christian Church
・ Simply Streisand
・ Simply Terrific
・ Simply the Best
・ Simply the Best (Art Garfunkel album)
・ Simply the Best (Crystal Lewis album)
・ Simply the Best (game show)
・ Simply the Best (Tina Turner album)
・ Simply Tweet
Simply typed lambda calculus
・ Simply Unstoppable
・ Simply Wonderful
・ SimplyCook
・ Simplygon
・ SimplySiti
・ SimplyTweet
・ Simplé
・ Simplício Hydroelectric Complex
・ Simplício Mendes
・ Simplício Rodrigues de Sá
・ SIMPO
・ SimPort
・ Simprulla
・ Simpson


Dictionary Lists
翻訳と辞書 辞書検索 [ 開発暫定版 ]
スポンサード リンク

Simply typed lambda calculus : ウィキペディア英語版
Simply typed lambda calculus
The simply typed lambda calculus (\lambda^\to), a form
of type theory, is a typed interpretation of the lambda calculus with only one type constructor: \to that builds function types. It is the canonical and simplest example of a typed lambda calculus. The simply typed lambda calculus was originally introduced by Alonzo Church in 1940 as an attempt to avoid paradoxical uses of the untyped lambda calculus, and it exhibits many desirable and interesting properties.
The term ''simple type'' is also used to refer to extensions of the simply typed lambda calculus such as products, coproducts or natural numbers (System T) or even full recursion (like PCF). In contrast, systems which introduce polymorphic types (like System F) or dependent types (like the Logical Framework) are not considered ''simply typed''. The former are still considered ''simple'' because the Church encodings of such structures can be done using only \to and suitable type variables, while polymorphism and dependency cannot.
== Syntax ==

In this article, we use \sigma and \tau to range over types. Informally, the ''function type'' \sigma \to \tau refers to the type of functions that, given an input of type \sigma, produce an output of type \tau.
By convention, \to associates to the right: we read \sigma\to\tau\to\rho as \sigma\to(\tau\to\rho).
To define the types, we begin by fixing a set of ''base types'', B. These are sometimes called ''atomic types'' or ''type constants''. With this fixed, the syntax of types is:
:\tau ::= \tau \to \tau \mid T \quad \mathrm \quad T \in B.
For example, if B = \, then a, b, a \to a, a \to b, and a \to b \to a are all valid types (among others).
We also fix a set of ''term constants'' for the base types. For example, we might assume a base type nat, and the term constants could be the natural numbers. In the original presentation, Church used only two base types: o for "the type of propositions" and \iota for "the type of individuals". The type o has no term constants, whereas \iota has one term constant. Frequently the calculus with only one base type, usually o, is considered.
The syntax of the simply typed lambda calculus is essentially that of the lambda calculus itself. We write x\mathbin\tau to denote that the variable x is of type \tau. The term syntax is then:
:e ::= x \mid \lambda x\mathbin\tau.e \mid e \, e \mid c
where c is a term constant.
That is, ''variable reference'', ''abstractions'', ''application'', and ''constant''. A variable reference x is ''bound'' if it is inside of an abstraction binding x. A term is ''closed'' if there are no unbound variables.
Compare this to the syntax of untyped lambda calculus:
:e ::= x \mid \lambda x.e \mid e \, e
We see that in typed lambda calculus every function (''abstraction'') must specify the type of its argument.

抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)
ウィキペディアで「Simply typed lambda calculus」の詳細全文を読む



スポンサード リンク
翻訳と辞書 : 翻訳のためのインターネットリソース

Copyright(C) kotoba.ne.jp 1997-2016. All Rights Reserved.